<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content=
    "application/xhtml+xml; charset=iso-8859-1" />
    <title>
      OpenLDAP-2.4.49
    </title>
    <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
  </head>
  <body class="blfs" id="blfs-9.1">
    <div class="navheader">
      <h4>
        Beyond Linux<sup>�</sup> From Scratch <span class="phrase">(System
        V</span> Edition) - Version 9.1
      </h4>
      <h3>
        Chapter&nbsp;23.&nbsp;Other Server Software
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="other.html" title=
          "Other Server Software">Prev</a>
          <p>
            Other Server Software
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="unbound.html" title="Unbound-1.9.6">Next</a>
          <p>
            Unbound-1.9.6
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="other.html" title=
          "Chapter&nbsp;23.&nbsp;Other Server Software">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 9.1">Home</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <h1 class="sect1">
        <a id="openldap" name="openldap"></a>OpenLDAP-2.4.49
      </h1>
      <div class="package" lang="en" xml:lang="en">
        <h2 class="sect2">
          Introduction to OpenLDAP
        </h2>
        <p>
          The <span class="application">OpenLDAP</span> package provides an
          open source implementation of the Lightweight Directory Access
          Protocol.
        </p>
        <p>
          This package is known to build and work properly using an LFS-9.1
          platform.
        </p>
        <h3>
          Package Information
        </h3>
        <div class="itemizedlist">
          <ul class="compact">
            <li class="listitem">
              <p>
                Download (FTP): <a class="ulink" href=
                "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.49.tgz">
                ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.49.tgz</a>
              </p>
            </li>
            <li class="listitem">
              <p>
                Download MD5 sum: 2a47a6bb4319357ea7b032c45283e79e
              </p>
            </li>
            <li class="listitem">
              <p>
                Download size: 5.4 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated disk space required: 49 MB (client), 109 MB
                (server)
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated build time: 0.4 SBU (client using parallelism=4),
                1.2 SBU (server)
              </p>
            </li>
          </ul>
        </div>
        <h3>
          Additional Downloads
        </h3>
        <div class="itemizedlist">
          <ul class="compact">
            <li class="listitem">
              <p>
                Required patch: <a class="ulink" href=
                "http://www.linuxfromscratch.org/patches/blfs/9.1/openldap-2.4.49-consolidated-1.patch">
                http://www.linuxfromscratch.org/patches/blfs/9.1/openldap-2.4.49-consolidated-1.patch</a>
              </p>
            </li>
          </ul>
        </div>
        <h3>
          OpenLDAP Dependencies
        </h3>
        <h4>
          Recommended
        </h4>
        <p class="recommended">
          <a class="xref" href="../postlfs/cyrus-sasl.html" title=
          "Cyrus SASL-2.1.27">Cyrus SASL-2.1.27</a>
        </p>
        <h4>
          Optional
        </h4>
        <p class="optional">
          <a class="xref" href="../postlfs/gnutls.html" title=
          "GnuTLS-3.6.12">GnuTLS-3.6.12</a>, <a class="xref" href=
          "../general/pth.html" title="Pth-2.0.7">Pth-2.0.7</a>, <a class=
          "xref" href="../general/unixodbc.html" title=
          "unixODBC-2.3.7">unixODBC-2.3.7</a>, <a class="xref" href=
          "mariadb.html" title="MariaDB-10.4.12">MariaDB-10.4.12</a> or
          <a class="xref" href="postgresql.html" title=
          "PostgreSQL-12.2">PostgreSQL-12.2</a> or <a class="ulink" href=
          "http://www.mysql.com/">MySQL</a>, <a class="ulink" href=
          "http://www.openslp.org/">OpenSLP</a>, and <a class="xref" href=
          "db.html" title="Berkeley DB-5.3.28">Berkeley DB-5.3.28</a> (for
          slapd, but deprecated)
        </p>
        <p class="usernotes">
          User Notes: <a class="ulink" href=
          "http://wiki.linuxfromscratch.org/blfs/wiki/openldap">http://wiki.linuxfromscratch.org/blfs/wiki/openldap</a>
        </p>
      </div>
      <div class="installation" lang="en" xml:lang="en">
        <h2 class="sect2">
          Installation of OpenLDAP
        </h2>
        <div class="admon note">
          <img alt="[Note]" src="../images/note.png" />
          <h3>
            Note
          </h3>
          <p>
            If you only need to install the client side <span class=
            "command"><strong>ldap*</strong></span> binaries, corresponding
            man pages, libraries and header files (referred to as a
            <span class="quote">&ldquo;<span class=
            "quote">client-only</span>&rdquo;</span> install), issue these
            commands instead of the following ones (no test suite available):
          </p>
          <pre class="userinput">
<kbd class=
"command">patch -Np1 -i ../openldap-2.4.49-consolidated-1.patch &amp;&amp;
autoconf &amp;&amp;

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --enable-dynamic  \
            --disable-debug   \
            --disable-slapd &amp;&amp;

make depend &amp;&amp;
make</kbd>
</pre>
          <p>
            Then, as the <code class="systemitem">root</code> user:
          </p>
          <pre class="userinput">
<kbd class="command">make install

ln -sf ../lib/slapd /usr/sbin/slapd</kbd>
</pre>
        </div>
        <div class="admon warning">
          <img alt="[Warning]" src="../images/warning.png" />
          <h3>
            Warning
          </h3>
          <p>
            If upgrading from a previous installation that used Berkeley DB
            as the backend, you will need to dump the database(s) using the
            <span class="command"><strong>slapcat</strong></span> utility,
            relocate all files in <code class=
            "filename">/var/lib/openldap</code>, change all instances of
            <code class="option">bdb</code> to <code class=
            "option">mdb</code> in <code class=
            "filename">/etc/openldap/slapd.conf</code> and any files in
            <code class="filename">/etc/openldap/slapd.d</code>, and import
            using the <span class="command"><strong>slapadd</strong></span>
            utility after the installation is completed.
          </p>
        </div>
        <p>
          There should be a dedicated user and group to take control of the
          <span class="command"><strong>slapd</strong></span> daemon after it
          is started. Issue the following commands as the <code class=
          "systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">groupadd -g 83 ldap &amp;&amp;
useradd  -c "OpenLDAP Daemon Owner" \
         -d /var/lib/openldap -u 83 \
         -g ldap -s /bin/false ldap</kbd>
</pre>
        <p>
          Install <span class="application">OpenLDAP</span> by running the
          following commands:
        </p>
        <pre class="userinput">
<kbd class=
"command">patch -Np1 -i ../openldap-2.4.49-consolidated-1.patch &amp;&amp;
autoconf &amp;&amp;

./configure --prefix=/usr         \
            --sysconfdir=/etc     \
            --localstatedir=/var  \
            --libexecdir=/usr/lib \
            --disable-static      \
            --disable-debug       \
            --with-tls=openssl    \
            --with-cyrus-sasl     \
            --enable-dynamic      \
            --enable-crypt        \
            --enable-spasswd      \
            --enable-slapd        \
            --enable-modules      \
            --enable-rlookups     \
            --enable-backends=mod \
            --disable-ndb         \
            --disable-sql         \
            --disable-shell       \
            --disable-bdb         \
            --disable-hdb         \
            --enable-overlays=mod &amp;&amp;

make depend &amp;&amp;
make</kbd>
</pre>
        <p>
          The tests appear to be fragile. Errors may cause the tests to abort
          prior to finishing, apparently due to timing issues. The tests take
          about 65 minutes and are processor independent. To test the
          results, issue: <span class="command"><strong>make
          test</strong></span>.
        </p>
        <p>
          Now, as the <code class="systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">make install &amp;&amp;

sed -e "s/\.la/.so/" -i /etc/openldap/slapd.{conf,ldif}{,.default} &amp;&amp;

install -v -dm700 -o ldap -g ldap /var/lib/openldap     &amp;&amp;

install -v -dm700 -o ldap -g ldap /etc/openldap/slapd.d &amp;&amp;
chmod   -v    640     /etc/openldap/slapd.{conf,ldif}   &amp;&amp;
chown   -v  root:ldap /etc/openldap/slapd.{conf,ldif}   &amp;&amp;

install -v -dm755 /usr/share/doc/openldap-2.4.49 &amp;&amp;
cp      -vfr      doc/{drafts,rfc,guide} \
                  /usr/share/doc/openldap-2.4.49</kbd>
</pre>
      </div>
      <div class="commands" lang="en" xml:lang="en">
        <h2 class="sect2">
          Command Explanations
        </h2>
        <p>
          <em class="parameter"><code>--disable-static</code></em>: This
          switch prevents installation of static versions of the libraries.
        </p>
        <p>
          <em class="parameter"><code>--disable-debug</code></em>: This
          switch disables the debugging code in <span class=
          "application">OpenLDAP</span>.
        </p>
        <p>
          <em class="parameter"><code>--enable-dynamic</code></em>: This
          switch forces the <span class="application">OpenLDAP</span>
          libraries to be dynamically linked to the executable programs.
        </p>
        <p>
          <em class="parameter"><code>--enable-crypt</code></em>: This switch
          enables using of <span class=
          "command"><strong>crypt(3)</strong></span> passwords.
        </p>
        <p>
          <em class="parameter"><code>--enable-spasswd</code></em>: This
          switch enables <span class="application">SASL</span> password
          verification.
        </p>
        <p>
          <em class="parameter"><code>--enable-modules</code></em>: This
          switch enables dynamic module support.
        </p>
        <p>
          <em class="parameter"><code>--enable-rlookups</code></em>: This
          switch enables reverse lookups of client hostnames.
        </p>
        <p>
          <em class="parameter"><code>--enable-backends</code></em>: This
          switch enables all available backends.
        </p>
        <p>
          <em class="parameter"><code>--enable-overlays</code></em>: This
          switch enables all available overlays.
        </p>
        <p>
          <em class="parameter"><code>--disable-ndb</code></em>: This switch
          disables <span class="application">MySQL</span> NDB Cluster backend
          which causes configure to fail if <span class=
          "application">MySQL</span> is present.
        </p>
        <p>
          <em class="parameter"><code>--disable-sql</code></em>: This switch
          explicitly disables the SQL backend. Omit this switch if a SQL
          server is installed and you are going to use a SQL backend.
        </p>
        <p>
          <em class="parameter"><code>--libexecdir=/usr/lib</code></em>: This
          switch controls where the <code class=
          "filename">/usr/lib/openldap</code> directory is installed.
          Everything in that directory is a library, so it belongs under
          <code class="filename">/usr/lib</code> instead of <code class=
          "filename">/usr/libexec</code>.
        </p>
        <p>
          <code class="option">--enable-slp</code>: This switch enables SLPv2
          support. Use it if you have installed <a class="ulink" href=
          "http://www.openslp.org/">OpenSLP</a>.
        </p>
        <div class="admon note">
          <img alt="[Note]" src="../images/note.png" />
          <h3>
            Note
          </h3>
          <p>
            You can run <span class="command"><strong>./configure
            --help</strong></span> to see if there are other switch you can
            pass to the <span class=
            "command"><strong>configure</strong></span> command to enable
            other options or dependency packages.
          </p>
        </div>
        <p>
          <span class="command"><strong>install ...</strong></span>,
          <span class="command"><strong>chown ...</strong></span>, and
          <span class="command"><strong>chmod ...</strong></span>: Having
          slapd configuration files and ldap databases in /var/lib/openldap
          readable by anyone is a SECURITY ISSUE, especially since a file
          stores the admin password in PLAIN TEXT. That's why mode 640 and
          root:ldap ownership were used. The owner is root, so only root can
          modify the file, and group is ldap, so that the group which owns
          slapd daemon could read but not modify the file in case of a
          security breach.
        </p>
      </div>
      <div class="configuration" lang="en" xml:lang="en">
        <h2 class="sect2">
          Configuring OpenLDAP
        </h2>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            <a id="openldap-config" name="openldap-config"></a>
          </h3>
          <h4 class="title">
            <a id="openldap-config" name="openldap-config"></a>Config Files
          </h4>
          <div class="itemizedlist">
            <ul class="compact">
              <li class="listitem">
                <p>
                  For LDAP client: <code class=
                  "filename">/etc/openldap/ldap.conf</code> and <code class=
                  "filename">~/.ldaprc</code>
                </p>
              </li>
              <li class="listitem">
                <p>
                  For LDAP server, two configuration mechanisms are used: a
                  legacy <code class=
                  "filename">/etc/openldap/slapd.conf</code> configuration
                  file and the recommended <span class=
                  "emphasis"><em>slapd-config</em></span> system, using an
                  LDIF database stored in <code class=
                  "filename">/etc/openldap/slapd.d</code>.
                </p>
              </li>
            </ul>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3"></h3>
          <h4 class="title">
            <a id="idm45779254317856" name=
            "idm45779254317856"></a>Configuration Information
          </h4>
          <p>
            Configuring the <span class=
            "command"><strong>slapd</strong></span> servers can be complex.
            Securing the LDAP directory, especially if you are storing
            non-public data such as password databases, can also be a
            challenging task. In order to set up <span class=
            "application">OpenLDAP</span>, you'll need to modify either the
            <code class="filename">/etc/openldap/slapd.conf</code> file (old
            method), or the <code class=
            "filename">/etc/openldap/slapd.ldif</code> file and then use
            <span class="command"><strong>ldapadd</strong></span> to create
            de LDAP configuration database in <code class=
            "filename">/etc/openldap/slapd.d</code> (recommended by the
            OpenLDAP documentation).
          </p>
          <div class="admon warning">
            <img alt="[Warning]" src="../images/warning.png" />
            <h3>
              Warning
            </h3>
            <p>
              The instructions above install an empty LDAP structure and a
              default <code class="filename">/etc/openldap/slapd.conf</code>
              file, which are suitable for testing the build and other
              packages using LDAP. Do not use them on a production server.
            </p>
          </div>
          <p>
            Resources to assist you with topics such as choosing a directory
            configuration, backend and database definitions, access control
            settings, running as a user other than <code class=
            "systemitem">root</code> and setting a <span class=
            "command"><strong>chroot</strong></span> environment include:
          </p>
          <div class="itemizedlist">
            <ul class="compact">
              <li class="listitem">
                <p>
                  The <span class="strong"><strong>slapd(8)</strong></span>
                  man page.
                </p>
              </li>
              <li class="listitem">
                <p>
                  The <span class=
                  "strong"><strong>slapd.conf(5)</strong></span> and
                  <span class=
                  "strong"><strong>slapd-config(5)</strong></span> man pages.
                </p>
              </li>
              <li class="listitem">
                <p>
                  The <a class="ulink" href=
                  "http://www.openldap.org/doc/admin24/">OpenLDAP 2.4
                  Administrator's Guide</a> (also installed locally in
                  <code class=
                  "filename">/usr/share/doc/openldap-2.4.49/guide/admin</code>).
                </p>
              </li>
              <li class="listitem">
                <p>
                  Documents located at <a class="ulink" href=
                  "http://www.openldap.org/pub/">http://www.openldap.org/pub/</a>.
                </p>
              </li>
            </ul>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3"></h3>
          <h4 class="title">
            <a id="idm45779254298352" name="idm45779254298352"></a>Mozilla
            Address Directory
          </h4>
          <p>
            By default, LDAPv2 support is disabled in the <code class=
            "filename">slapd.conf</code> file. Once the database is properly
            set up and <span class="application">Mozilla</span> is configured
            to use the directory, you must add <code class="option">allow
            bind_v2</code> to the <code class="filename">slapd.conf</code>
            file.
          </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            <a id="openldap-init" name="openldap-init"></a>
          </h3>
          <h4 class="title">
            <a id="openldap-init" name="openldap-init"></a><span class=
            "phrase">Boot Script</span>
          </h4>
          <p>
            To automate the startup of the LDAP server at system bootup,
            install the <span class="phrase"><code class=
            "filename">/etc/rc.d/init.d/slapd</code> init script</span>
            included in the <a class="xref" href=
            "../introduction/bootscripts.html" title=
            "BLFS Boot Scripts">blfs-bootscripts-20191204</a> package using
            the following command:
          </p>
          <pre class="root">
<kbd class="command">make install-slapd</kbd>
</pre>
          <div class="admon note">
            <img alt="[Note]" src="../images/note.png" />
            <h3>
              Note
            </h3>
            <p>
              You'll need to modify <span class="phrase"><code class=
              "filename">/etc/sysconfig/slapd</code></span> to include the
              parameters needed for your specific configuration. See the
              <span class="command"><strong>slapd</strong></span> man page
              for parameter information.
            </p>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3"></h3>
          <h4 class="title">
            <a id="idm45779254283712" name="idm45779254283712"></a>Testing
            the Configuration
          </h4>
          <p>
            Start the LDAP server using <span class="phrase">the init
            script:</span>
          </p>
          <pre class="root">
<kbd class="command">/etc/rc.d/init.d/slapd start</kbd>
</pre>
          <p>
            Verify access to the LDAP server with the following command:
          </p>
          <pre class="userinput">
<kbd class=
"command">ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts</kbd>
</pre>
          <p>
            The expected result is:
          </p>
          <pre class="screen">
<code class="computeroutput"># extended LDIF
#
# LDAPv3
# base &lt;&gt; with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts
#

#
dn:
namingContexts: dc=my-domain,dc=com

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1</code>
</pre>
        </div>
      </div>
      <div class="content" lang="en" xml:lang="en">
        <h2 class="sect2">
          Contents
        </h2>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong class="segtitle">Installed Programs:</strong>
              <span class="segbody">ldapadd, ldapcompare, ldapdelete,
              ldapexop, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch,
              ldapurl, ldapwhoami, slapacl, slapadd, slapauth, slapcat,
              slapd, slapdn, slapindex, slappasswd, slapschema, and
              slaptest</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Libraries:</strong>
              <span class="segbody">liblber.so, libldap.so, libldap_r.so, and
              several under /usr/lib/openldap</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Directories:</strong>
              <span class="segbody">/etc/openldap, /{usr,var}/lib/openldap,
              and /usr/share/doc/openldap-2.4.49</span>
            </div>
          </div>
        </div>
        <div class="variablelist">
          <h3>
            Short Descriptions
          </h3>
          <table border="0" class="variablelist">
            <colgroup>
              <col align="left" valign="top" />
              <col />
            </colgroup>
            <tbody>
              <tr>
                <td>
                  <p>
                    <a id="ldapadd" name="ldapadd"></a><span class=
                    "term"><span class=
                    "command"><strong>ldapadd</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    opens a connection to an LDAP server, binds and adds
                    entries.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ldapcompare" name="ldapcompare"></a><span class=
                    "term"><span class=
                    "command"><strong>ldapcompare</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    opens a connection to an LDAP server, binds and performs
                    a compare using specified parameters.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ldapdelete" name="ldapdelete"></a><span class=
                    "term"><span class=
                    "command"><strong>ldapdelete</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    opens a connection to an LDAP server, binds and deletes
                    one or more entries.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ldapexop" name="ldapexop"></a><span class=
                    "term"><span class=
                    "command"><strong>ldapexop</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    issues the LDAP extended operation specified by oid or
                    one of the special keywords whoami, cancel, or refresh.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ldapmodify" name="ldapmodify"></a><span class=
                    "term"><span class=
                    "command"><strong>ldapmodify</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    opens a connection to an LDAP server, binds and modifies
                    entries.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ldapmodrdn" name="ldapmodrdn"></a><span class=
                    "term"><span class=
                    "command"><strong>ldapmodrdn</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    opens a connection to an LDAP server, binds and modifies
                    the RDN of entries.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ldappasswd" name="ldappasswd"></a><span class=
                    "term"><span class=
                    "command"><strong>ldappasswd</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a tool used to set the password of an LDAP user.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ldapsearch" name="ldapsearch"></a><span class=
                    "term"><span class=
                    "command"><strong>ldapsearch</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    opens a connection to an LDAP server, binds and performs
                    a search using specified parameters.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ldapurl" name="ldapurl"></a><span class=
                    "term"><span class=
                    "command"><strong>ldapurl</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a command that allows to either compose or decompose
                    LDAP URIs.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ldapwhoami" name="ldapwhoami"></a><span class=
                    "term"><span class=
                    "command"><strong>ldapwhoami</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    opens a connection to an LDAP server, binds and displays
                    whoami information.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slapacl" name="slapacl"></a><span class=
                    "term"><span class=
                    "command"><strong>slapacl</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to check the behavior of slapd by verifying
                    access to directory data according to the access control
                    list directives defined in its configuration.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slapadd" name="slapadd"></a><span class=
                    "term"><span class=
                    "command"><strong>slapadd</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to add entries specified in LDAP Directory
                    Interchange Format (LDIF) to an LDAP database.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slapauth" name="slapauth"></a><span class=
                    "term"><span class=
                    "command"><strong>slapauth</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to check the behavior of the slapd in mapping
                    identities for authentication and authorization purposes,
                    as specified in slapd.conf.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slapcat" name="slapcat"></a><span class=
                    "term"><span class=
                    "command"><strong>slapcat</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to generate an LDAP LDIF output based upon the
                    contents of a slapd database.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slapd" name="slapd"></a><span class=
                    "term"><span class=
                    "command"><strong>slapd</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is the standalone LDAP server.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slapdn" name="slapdn"></a><span class=
                    "term"><span class=
                    "command"><strong>slapdn</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    checks a list of string-represented DNs based on schema
                    syntax.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slapindex" name="slapindex"></a><span class=
                    "term"><span class=
                    "command"><strong>slapindex</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to regenerate slapd indexes based upon the
                    current contents of a database.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slappasswd" name="slappasswd"></a><span class=
                    "term"><span class=
                    "command"><strong>slappasswd</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is an <span class="application">OpenLDAP</span> password
                    utility.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slapschema" name="slapschema"></a><span class=
                    "term"><span class=
                    "command"><strong>slapschema</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to check schema compliance of the contents of a
                    slapd database.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="slaptest" name="slaptest"></a><span class=
                    "term"><span class=
                    "command"><strong>slaptest</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    checks the sanity of the <code class=
                    "filename">slapd.conf</code> file.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="liblber" name="liblber"></a><span class=
                    "term"><code class="filename">liblber.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a set of Lightweight Basic Encoding Rules routines.
                    These routines are used by the LDAP library routines to
                    encode and decode LDAP protocol elements using the
                    (slightly simplified) Basic Encoding Rules defined by
                    LDAP. They are not normally used directly by an LDAP
                    application program except in the handling of controls
                    and extended operations.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libldap" name="libldap"></a><span class=
                    "term"><code class="filename">libldap.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    supports the LDAP programs and provide functionality for
                    other programs interacting with LDAP.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libldap_r" name="libldap_r"></a><span class=
                    "term"><code class="filename">libldap_r.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    contains the functions required by the LDAP programs to
                    produce the results from LDAP requests.
                  </p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <p class="updated">
        Last updated on 2020-02-17 12:03:00 -0800
      </p>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="other.html" title=
          "Other Server Software">Prev</a>
          <p>
            Other Server Software
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="unbound.html" title="Unbound-1.9.6">Next</a>
          <p>
            Unbound-1.9.6
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="other.html" title=
          "Chapter&nbsp;23.&nbsp;Other Server Software">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 9.1">Home</a>
        </li>
      </ul>
    </div>
  </body>
</html>
